All of the material in this patent application is subject to copyright protection under the copyright laws of the United States and of other countries. As of the first effective filing date of the present application, this material is protected as unpublished material. However, permission to copy this material is hereby granted to the extent that the copyright owner has no objection to the facsimile reproduction by anyone of the patent documentation or patent disclosure, as it appears in the United States Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Not Applicable
1. Field of the Invention
The present invention relates generally to field of Internet Search Engines, Web browsers, and resource gathering and has special application in situations where these functions are further integrated with post-processing functions applied to the results of searches performed using theses software tools.
2. Description of the Related Art
The invention is related in the general area of Internet Search engine technology. Conventional Internet search engines permit users to search for a wide variety of information on the WWW. There are also domain-specific search engines (such as that exemplified by jCentral, http://www.ibm.com/developer/java) that provide users a more focused search within the desired domain.
Typically a successful search produces a search results page with result items (each usually contain a URL), an abstract, and some additional information about the resource found. A user can use a pointing device (e.g., mouse) to select a result item and request a download of the document. This is typically a manual process, with no existing system providing a predefined method of associating a post-processing application with the search results provided by the Internet search engine.
The prior art with few exceptions has no system or method available to associate tools and/or applications with the results of Internet search results. Web-Based Prior Art
The prior art includes web-based systems that provide a static assignment of web tools and/or services mapped to search results. As an example, jCentral (http://www.ibm.com/developer/java) offers a class visualizer for Java source code or for Java applets.
There exist web sites that provide facilities such as xe2x80x9ctype in a URL which points to a particular documentxe2x80x9d and provide static tools such as xe2x80x9ccheck for well-formed character of XML documentsxe2x80x9d or xe2x80x9cdraw a graph corresponding to a particular RDF documentsxe2x80x9d, etc. These functions are not integrated with search engines and also do not provide a choice mechanism to pick tools and/or services. Examples of URLs implementing these functions include http://www.xml.com/xml/pub/tools/ruwf/check.html and http://jigsaw.w3.org:8000/description, and http://www.w3.org/RDF/Implementations/SiRPAC/.
The present invention, however, goes beyond these concepts by acting as a broker for software components (tools and/or services). The user can register their tools and services and these are then automatically integrated into search engine search results pages.
File Extension Based Prior Art
However, it should be noted that a variety of static and/or contextual application/data associations are known in the art. Specifically, the Microsoft(copyright) Windows(trademark) operating environment permits association of a file xe2x80x9ctypexe2x80x9d as determined by a filename extension to be associated with a given handling application. The structure of this application association is illustrated in FIG. 1, with the modal dialog boxes implementing this functionality illustrated in FIG. 2.
Referencing FIG. 1, an exemplary association of a Tagged Image File Format (TIFF) file is illustrated to show the techniques used by the prior art. In this configuration the tool and/or service association begins by using registration dialog(s) (0101) (detailed in FIG. 2 (0201, 0202, 0203)) that associate an application such as the KODAK(copyright) image previewer KODAKPRV.exe with the xe2x80x9ctifxe2x80x9d file extension (0102). This association is typically stored in a Microsoft(copyright) Windows(trademark) Registry (0103).
When a file is activated/selected that does not have an associated application for processing, a typical response to this situation is illustrated in the modal dialog box (0201) of FIG. 2 in which the application to be utilized is prompted for by the file manager or other application. In this example, the file extension of xe2x80x98XXXxe2x80x99 has yet to be registered in the Microsoft(copyright) Windows(trademark) registry, and thus the system prompts for an application to OPEN the file xe2x80x9cABC.XXXxe2x80x9d. This method is generally not preferred as it requires that the user select the activation application for each invocation of the file to be processed.
As an example of how this functionality is executed, the filename xe2x80x9cABC.tifxe2x80x9d (a Tagged Image Format File having a xe2x80x9ctifxe2x80x9d extension) may be selected within an application such as the FILE MANAGER (0105) and associated with a specific application such as the KODAKPRV.EXE image previewer using the modal dialog box illustrated in FIG. 2 (0202). The application action and/or activation associated with triggering (generally in the form of double-licking a Microsoft(copyright) Windows(trademark) file icon) the file is defined in a modal dialog box as typified in FIG. 2 (0203). Referencing FIG. 1, it can be seen that the KODAKPRV.exe application (0104) is activated by reference to the Microsoft(copyright) Windows"ugr" Registry (0103), the tool/service executed (0106), and the designated file is OPENed for access by the associated application (0107) by using the filename xe2x80x9cABC.tifxe2x80x9d as a parameter to the tool/service application.
As with other methods of associating filename extensions to application activations, the prior art requires that for each application file the filename extension be properly keyed to permit proper association of the control application for that file type. This is a significant problem in processing data generated by a wide variety of search engines, as this information is generally not tagged with appropriate filename extension information.
Search Engine Prior Art
Referencing FIG. 3, the prior art with respect to search engines has traditionally not provided a method to permit the user to dynamic associate post-processing tools with the search results obtained from a web browser. The scope of the post-processing activity has in general been limited to the use of hyperlinks (0301) or some form of file extension based application activation methodology.
Accordingly, a need exists to overcome the deficiencies in the prior art and to provide a system and method to permit automatic activation of user-defined applications in response to the Internet search request results. A need exists to provide a system and method to allow a wide variety of service applications and tools to be associated with the results of Internet searches. Moreover, a need exists to permit a user to trigger a given application to post-process the data content of a given URL and to permit tools and/or services to be automatically brokered to users of search engine post-processors.
The invention is related in the general area of Internet Search engine technology. The present invention extends the prior art by providing the user the opportunity to allow search result items to be automatically used as an input for post-processing based on registered tools and/or services. These tools and/or services determine the type of processing to be applied to a search result item. The present invention therefore acts as a broker for tools and/or services. The user can register their tools and/or services with the search engine and make them available for activation by other users that utilize the present invention.
As an exemplary implementation of the present invention, the user would start a query by entering some keywords and submitting the query to a search engine as illustrated in FIG. 4. This interaction typically takes place using a search dialog box (0401).
Referencing FIG. 5, the present invention then performs the query and returns a result set. Depending on the type, the search engine dynamically creates a choice of specific tools and services (0501) that are presented along with the search results (0502).
Referencing FIG. 6, a user may select a desired resource and activate the associated tool and/or service (0601). Note that the choices of tools are different depending on the return data type. For instance, with XML documents the user has the choice of selecting a xe2x80x9cTree Viewxe2x80x9d tool that shows a graphical representation of the structure of the document. XML schemes (DTDs) can be used as an input for the xe2x80x9cBean Makerxe2x80x9d tool (0601) that essentially converts the DTD into a Java Bean. The DTD is the Document Type Definitions of the W3C XML 1.0 standard which provides a way to define the structure of an XML document through a document type definition. DTDs have widespread support in the industry and in the XML applications that are currently available. In simple terms, we use a DTD to define the structure of the XML file by using special characters that indicate pattern for these elements. For a more detailed description we refer to current literature about XML.
After selecting a type-specific tool and/or service (e.g., Bean Maker), the request is then sent to the present invention that in turn downloads the requested document and post processes this document using the desired tool. All of this activity is performed on the server side, but the present invention is not strictly limited to this configuration. A user need not download or setup any software to process the document, as this is automatically performed by the present invention. The result of this process is then presented to the user.
To illustrate the teachings of-the present invention, a concrete example based on the jCentral search engine (http://www.ibm.com/developer/java) will now be provided. jCentral lets users search for Java resources using Java specific search features. With the present invention, a user would typically first register a tool and/or service. In this example, the user wants to register a Java compiler. The present invention then provides a registration form. The user then would typically apply for a username and a password for data protection purposes. At this point the following information is provided for the application tool:
Cost: $0.05 per invocation
The information is stored on the server side in a database and associated with the user""s profile.
Once registered, the user is able to perform a search. In this example the user is searching for Java source code, which implements a heap sort algorithm. He/She fills out the jCentral search form and issue a query to the jCentral search engine. Note that the present invention could use a xe2x80x9cCookiexe2x80x9d mechanism to store the tool information also on the client machine and retrieve the data as part of the search request. This is just another way of implementing the user profile.
The present invention receives the search request and queries the database for the user profile (or extract the cookie data from the search request). It then forwards the search request to the actual search engine: Before sending back the results page it inserts the display (HTML) markup for the user defined tool and/or service. As a result the search results contain a choice selection GUI where the user can activate a personalized tool and/or service. FIG. 5 illustrates an exemplary jCentral results page that was generated from the present invention. Note that the xe2x80x9cJava compilerxe2x80x9d dialog choice box was generated from the present invention based on the registered user profile of the user.
Exemplary Advantages
Overall the present invention can in some exemplary embodiments provide one or more of the following advantages over the prior art:
(1) By offering the user the possibility to link personalized tools and/or services with the search results of a search query, the user permits these tools and services to be made instantly available to other users. This permits distribution of software applications in an efficient and convenient manner. This provides for a new business model for the present invention, in which the user who wants to make use of a tool or service has to pay a small fee to the broker. The present invention can be extended to permit a database to track expenses and fees within this business model. The broker will keep its margin and transfer the rest of the earned money to the provider of the service.
(2) Tools and services are provided on demand. A user is not required to download and setup software on a local machine, but rather these services may be hosted on a server machine elsewhere, and therefore the local user need not maintain the application.
(3) The tools and services are automatically linked to a search result item from a corresponding search query. Thus, the input data is automatically associated with the corresponding tool and service and therefore provides a degree of convenience for the user.
The present invention has wide application in the application of web-based services, and since these applications will become more dominant in the future, the present invention may provide for additional benefits other than described above. One skilled in the art will realize that these advantages may be present in some embodiments and not in others, as well as noting that other advantages may exist in the present invention that are not specifically listed above.